package com.drerp.RH.carreira.DAO;

import java.util.List;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;

import com.drerp.RH.DAO.GenericoDAO;
import com.drerp.RH.carreira.AcaoPlanoCarreira;
import com.drerp.RH.carreira.constantes.TiposAcaoPlanoCarreira;

public class AcaoPlanoCarreiraDAO extends GenericoDAO<AcaoPlanoCarreira, Long> {

	public List<AcaoPlanoCarreira> encontrarTodosPorTipo(TiposAcaoPlanoCarreira tipo) {
		List<AcaoPlanoCarreira> list = null;

		Transaction trans = null;
		Session hibernateSession = super.getSession();

		try {
			trans = hibernateSession.beginTransaction();
			
			String hql = "SELECT a FROM AcaoPlanoCarreira a WHERE a.tipo = :tipo";
			Query query = hibernateSession.createQuery(hql).setParameter("tipo", tipo);
			list = super.findMany(query);
			
			trans.commit();
		} catch (RuntimeException e) {
			if (trans != null) {
				trans.rollback();
			}

			e.printStackTrace();
		}
		
		return list;
	}

}
